typedef struct listele {
    atom element;
    struct listele *next;
} ListEle;

typedef struct {
    ListEle *first;
} List;

extern atom PopList(List *list);
extern List *DeleteList(List *list, atom element);
extern List *AddList(List *list, atom element);
extern List *sumLists(List *list1, List *list2);
extern List *subLists(List *list1, List *list2);

